// 引入模块,创建接口
const express=require('express');
const pool=require('../pool.js');
const r=express.Router();


//*************************************************************************************
// 1.查询数据库接口
// -----------------------------------------------------------------------------------
	// 0.0 获取模块数据Model_style
	r.get('/model',(req,res)=>{
		pool.query("select * from Model_style",(err,result)=>{
			if(err)throw err;
			console.log('_________请求获取了模块参数数据表(Model_style)数据');
			res.send(result)
		})
	})	
	// 0.0 面包屑导航数据表(BN_label)数据
		r.get('/bnlabel',(req,res)=>{
			pool.query("select * from BN_label",(err,result)=>{
				if(err)throw err;
				console.log('_________请求获取了面包屑导航数据表(BN_label)数据');
				res.send(result)
			})
		})
		// -----------------------------------------------------------------------------------------------------------------
		//0.1 获取婚纱照,婚礼布置,婚礼服装,婚礼跟拍数据详情表(Picture_detail)数据
		// 本接口实现不传参(全表查询),只传id(单条数据查询),首屏初次加载20条数据(懒加载传入页码时每次增加20条数据),二级模块(首屏20条数据查询,传页码时(分页查询)功能
		r.get('/picturedetail',(req,res)=>{
			var id=parseInt(req.query.id);//详情编号
			var id1=parseInt(req.query.id1);//详情编号
			var id2=parseInt(req.query.id2);//详情编号
			var id3=parseInt(req.query.id3);//详情编号
			var id4=parseInt(req.query.id4);//详情编号
			var id5=parseInt(req.query.id5);//详情编号
			var id6=parseInt(req.query.id6);//详情编号
			var id7=parseInt(req.query.id7);//详情编号
			var Psid=req.query.Psid;//模块编号
			var page=req.query.page;//获取加载页码
			var n=20;//定义分页查询时每页加载数量
			var sql;//定义变量,分类使用查询语句
			// 根据url传递参数判断请求类型,分类使用查询条件
			if(id){//用id查询时,查询单条数据
				// sql=`select * from Picture_detail where  id =${id}`
				if(id==1){
					sql=`select * from Picture_detail where  id in (${id},${id+1},${id1},${id2},${id3},${id4},${id5},${id6},${id7})`
				}else{
					sql=`select * from Picture_detail where  id in (${id-1},${id},${id+1},${id1},${id2},${id3},${id4},${id5},${id6},${id7})`
				}
			}else{//不使用id查询时,判断是否有模块编号参数,进行数据按页码加载的sql语句赋值(同一按照分页查询思路进行数据加载)
				if(Psid!==undefined){//如果有模块编号则根据模块编号进行查询(对模块数据进行分页加载)
					if(!page){//判断是否有页码传进,有则根据页码进行分页查询
						page=1//若有类别编号传入,却无页码编号传入则将页码初始为1,实现二级页面首屏加载
					};// 若page存在,则正长执行分页数据请求
					var mincount=n*(page-1);//定义分页最小数据编号,
					var maxcount=n*page;//定义分页最大数据编号
					// 替换查询语句为分页查询语句
					// sql=`select id,title,summarize,details,author,date,avatar,homeimgurl,Psid from Picture_detail where Psid=${Psid} limit ${mincount},${maxcount}`
					sql=`select * from Picture_detail where Psid=${Psid} order by id asc limit ${mincount},${maxcount}`
				}else{//如果没有部门编号(对首页数据进行)则对一级页面数据进行首屏加载限制,使用懒加载控制数据加载
					if(page==undefined){//判断是否有页码传进,有则根据页码进行分页查询
						sql=`select  * from Picture_detail `
						// page=1//若有类别编号传入,却无页码编号传入则将页码初始为1,实现主页首屏加载
					}else{
						var mincount=n*(page-1);//定义分页最小数据编号,
						var maxcount=n*page;//定义分页最大数据编号
						// 替换查询语句为分页查询语句
						// sql=`select id,title,summarize,details,author,date,avatar,homeimgurl,Psid from Picture_detail order by id  limit ${mincount},${maxcount}`
						sql=`select * from Picture_detail order by id asc limit ${mincount},${maxcount}`
						// sql=`select * from Picture_detail`
					};// 若page存在,则正长执行分页数据请求
				}
			};
			pool.query(sql,(err,result)=>{
				if(err)throw err;
				console.log(`__________请求获取了美图四个模块的详情数据表(Picture_detail)中的编号为${Psid}模块的id为${id}的页码为${page}页数据,起始编号${mincount},结尾编号${maxcount},每页${n}调数据,共计${result.length}条数据`,`查询语句sql为${sql}`);
				res.send(result);
			});
		})
		//查询模块数据数量
		r.get('/pagecount',(req,res)=>{
			var Psid=req.query.Psid;
			console.log("接收到了请求");
			pool.query(`select count(id) count from Picture_detail where Psid=${Psid}`,(err,result)=>{
				console.log(result);
				res.send(result);
			})

		})
//-----------------------------------------------------------------------------------------------------------------------------------
	// 1.1 get/婚礼便签数据表(Marrypicture_label)数据
			r.get('/piclabel',(req,res)=>{
				pool.query("select * from Marrypicture_label",(err,result)=>{
					if(err)throw err;
					console.log("_________请求获取了婚礼标签数据表(Marrypicture_label)数据");
					res.send(result);
				})
			})
		// *************************************************************

		//1.1.2 (根据Psid获取搜索标签详情页数据)get/婚礼美图模块搜索栏标签数据表(Pic_searchlabel)数据
		r.get('/picsearchlabel',(req,res)=>{
				var Psid=req.query.Psid;
				pool.query(`select Sdid,Psid,title from Searchlabeldetails where Psid=${Psid}`,(err,result)=>{
					if(err)throw err;
					console.log("_________请求获取了了搜索提示栏标签数据表(Pic_searchlabel)数据")
					res.send(result);
				})
			})
			r.get('/picsearchlabel2',(req,res)=>{
				pool.query("select distinct Psid from Searchlabeldetails",(err,result)=>{
					res.send(result)
				})
			})
			// 模糊查询接口
			r.get('/labelsearch',(req,res)=>{
				var keywords=req.query.keywords;
				var Psid=req.query.Psid;
				console.log("接收到了模糊查询请求",keywords,Psid);
				var sql="";
				// if(Psid==1){sql=}
				sql=`select * from Picture_detail where Psid=${Psid} and color like '%${keywords}%'  or type like '%${keywords}%' or BowTie like '%${keywords}%' or useing like '%${keywords}%' or scene1 like '%${keywords}%' or scene2 like '%${keywords}%' or 	style1 like '%${keywords}%' or style2 like '%${keywords}%'`;
				pool.query(sql,(err,result)=>{
					if(err)throw err;
					console.log("获取到了模糊查询的数据:",result);
					res.send(result);
			})
		})
			// ************************************************************
			// 1.1.3 get/婚礼美图模块搜索标签详情页(Searchlabeldetails)数据
			r.get('/searchlabeldetails',(req,res)=>{
				pool.query("select * from Searchlabeldetails",(err,result)=>{
					if(err)throw err;
					res.send(result);
					console.log("________请求获取了搜索标签详情页信息数据表(Searchlabeldetails)数据")
				})
			})
			// 1.1.3.1 根据id/get/婚礼美图模块搜索标签详情页(Searchlabeldetails)数据
			r.get('/searchlabeldetails1',(req,res)=>{
				console.log(req.query)
				var Sdid=req.query.Sdid;
				pool.query(`select * from Searchlabeldetails where Sdid=${Sdid}`,(err,result)=>{
					if(err)throw err;
					res.send(result);
					console.log("________请求获取了搜索标签详情页信息数据表(Searchlabeldetails1)数据")
				})
			})
			//-------------------------------------------------------------------------------------
	// 1.2 get/婚礼布置标签表(Marryarrangement_label)数据
		r.get('/arrlabel',(req,res)=>{
			pool.query("select * from Marryarrangement_label",(err,result)=>{
				if(err)throw err;
				console.log('_________请求获取了婚礼布置标签表(Marryarrangement_label)数据');
				res.send(result);
			});
		},)
//-------------------------------------------------------------------------------------
		// 1.3 get/婚礼便签数据表(Marryclothes_label)数据
		r.get('/clolabel',(req,res)=>{
			pool.query("select * from Marryclothes_label",(err,result)=>{
				if(err)throw err;
				console.log("_________请求获取了婚礼标签数据表(Marryclothes_label)数据");
				res.send(result);
			})
		})
//-------------------------------------------------------------------------------------
		// 1.4 get/婚礼便签数据表(Marryfollow_label)数据
		r.get('/follabel',(req,res)=>{
			pool.query("select * from Marryfollow_label",(err,result)=>{
				if(err)throw err;
				console.log("_________请求获取了婚礼标签数据表(Marryfollow_label)数据");
				res.send(result);
			})
		})
//-------------------------------------------------------------------------------------
		// 1.5 get/婚礼视频数据表(Marry_video)数据
		r.get('/vid',(req,res)=>{
			pool.query("select * from Marry_video",(err,result)=>{
				if(err)throw err;
				console.log('_________请求获取了婚礼视频数据表(Marry_video)数据');
				res.send(result);
			});
		});
		// 1.6 get/婚礼纪查询标签(Marryvideo_label)数据
		r.get("/vlabel",(req,res)=>{
			pool.query("select * from Marryvideo_label",(err,result)=>{
				if(err)throw err;
				console.log("_________请求获取了婚礼视频模块标签表(Marryvideo_label)数据");
				res.send(result);
			})
		})
		// 1.7 get/婚礼纪查询标签(Marryvideo_title)数据
		r.get("/vtitle",(req,res)=>{
			pool.query("select * from Marryvideo_title",(err,result)=>{
				if(err)throw err;
				console.log("_________请求获取了婚礼视频模块标签表(Marryvideo_title)数据");
				res.send(result);
			})
		})
//*************************************************************************************

module.exports=r;
